//
// Created by 86131 on 2023/12/18.
//
#include "bits/stdc++.h"
using namespace std;
int t[10001];//用来标记城市是否被攻陷
pair<int ,int> a[10001];//用来记录边，从起点到终点
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=0;i<m;i++)
    {
        int x,y;
        cin>>x>>y;
        a[i]={x,y};//记录边
    }
    int k;
    cin>>k;
    while(k--)//对于指挥部的k种方案
    {
        memset(t,1,sizeof(t));//置1表示所以的城市都还完好
        int k1,t1=0;//记录方案是否可行
        cin>>k1;
        while(k1--)
        {
            int k2;
            cin>>k2;
            t[k2]=0;//该城市被攻陷了
        }
        for(int i=0;i<m;i++)
        {
            if(t[a[i].first]&&t[a[i].second]) t1=1;//注意是&&，即当这两个城市有边且都没有被攻陷的时候，t1成立
        }
        if(t1) cout<<"NO"<<endl;//那么就是没有全部分开，方案不可行
        else cout<<"YES"<<endl;//反之则可行
    }
}
